<template>
  <div id="tenmap">
    <!-- <div id="containerly" v-show="navigation" ref="shownat">导</div> -->
    <div class="showmap" @click="openBaiApp()">
      <div ref="showtext">查看路线</div>
    </div>
    <!-- <span
     
      style="
        background: #deb431;
        color: #151c1b;
        border-radius: 5px;
        padding: 2px 5px;
        font-size: 13px;
        margin-left: 10px;
        display: inline-block;
      "
    >
      <van-icon name="map-marked" />
      <span style="padding-left: 5px">地图导航</span>
    </span> -->
    <!-- <decorationlist v-on:asentlist="absentlist($event)"></decorationlist> -->
    <!-- <baidu-map
      @ready="handler"
      ak="2h9wN9GgNpKzrBPmvXFdBtApasaB5cmx"
    ></baidu-map> -->
  </div>
</template>

<script >
import { Toast } from 'vant';
import wx from 'weixin-js-sdk';
import { MP } from '@/utils/map';
import _ from 'lodash';
import { getent, getWxConfig, findShopById } from '@/api/api';
import decorationlist from '@/components/decorationlist';
export default {
  name: 'tenmap',

  data() {
    return {
      ak: '2h9wN9GgNpKzrBPmvXFdBtApasaB5cmx',
      map: '',
      point: '',
      navigation: false,
      location: true,
      lng: '',
      lat: '',
      shopInfo: {
        shopName: '',
        shopAddress: '',
        intro: '',
        mobile: '',
        shopPhotos: [],
      },
      shoplng: '',
      shoplat: '',
    };
  },
  mounted() {},
  created() {
    this.init();
    // this.getShopInfo(1);
  },
  methods: {
    // handler({ BMap, Map }) {
    //   var geolocation = new BMap.Geolocation();
    //   let _this = this; // 设置一个临时变量指向vue实例，因为在百度地图回调里使用this，指向的不是vue实例；

    //   geolocation.getCurrentPosition(
    //     function (r) {
    //       if (this.getStatus() == BMAP_STATUS_SUCCESS) {
    //         let geoCoder = new BMap.Geocoder();
    //         /* 利用坐标获取地址的详细信息 */
    //         getent({ id: Number(_this.$route.params.id) }).then((res) => {
    //           let pointlist = res.data.data;
    //           let shoplnger = pointlist.longitude;
    //           let shoplater = pointlist.latitude;

    //           this.map = new BMap.Map('container');
    //           this.point = new BMap.Point(shoplater, shoplnger);
    //           // centerAndZoom跟point定位并根据后面的参数放大的什么程度
    //           this.map.centerAndZoom(this.point, 16);
    //           // 地图缩放
    //           this.map.addControl(new BMap.NavigationControl());
    //           // 创键坐标点
    //           let markgg = new BMap.Marker(this.point);
    //           this.map.addOverlay(markgg);
    //           var labelgg = new BMap.Label();
    //           markergg.setLabel(labelgg);
    //           this.map.centerAndZoom(new BMapGL.Point(this.lng, this.lat), 11);
    //           geoCoder.getLocation(r.point, (res) => {
    //             this.lng = res.point.lng;
    //             this.lat = res.point.lat;

    //             //坐标转换完之后的回调函数
    //             translateCallback = function (data) {
    //               if (data.status === 0) {
    //                 var marker = new BMap.Marker(data.points[0]);
    //                 this.map.addOverlay(marker);
    //                 var label = new BMap.Label('转换后的百度坐标（正确）', {
    //                   offset: new BMap.Size(20, -10),
    //                 });
    //                 marker.setLabel(label); //添加百度label
    //                 this.map.setCenter(data.points[0]);
    //               }
    //             };
    //             setTimeout(function () {
    //               var convertor = new BMap.Convertor();
    //               var pointArr = [];
    //               pointArr.push(ggPoint);
    //               convertor.translate(pointArr, 1, 5, translateCallback);
    //             }, 1000);
    //           });
    //         });
    //       } else {
    //         //console.log('failed' + this.getStatus());
    //       }
    //     },

    //     {
    //       enableHighAccuracy: true,
    //     }
    //   );
    // },

    init() {
      getWxConfig({
        url: location.href.split('#')[0],
      }).then((res) => {
        wx.config({
          // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
          debug: false,
          // 必填，公众号的唯一标识
          appId: res.data.data.appId,
          // 必填，生成签名的时间戳
          timestamp: res.data.data.timestamp,
          // 必填，生成签名的随机串
          nonceStr: res.data.data.nonceStr,
          // 必填，签名，见附录1
          signature: res.data.data.signature,
          // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
          jsApiList: ['checkJsApi', 'openLocation'],
        });
      });
      wx.error(function (res) {
        alert('出错了：' + res.errMsg); //这个地方的好处就是wx.config配置错误，会弹出窗口哪里错误，然后根据微信文档查询即可。
      });
      wx.ready(function () {
        wx.checkJsApi({
          jsApiList: ['openLocation'],
          success: function (res) {
            //alert('成功了：' + res.errMsg);
          },
        });
      });
      getent({ id: Number(this.$route.params.id) }).then((res) => {
        this.shopInfo = res.data.data;
        wx.openLocation({
          latitude: parseFloat(this.shopInfo.longitude), // 纬度，浮点数，范围为90 ~ -90
          longitude: parseFloat(this.shopInfo.latitude), // 经度，浮点数，范围为180 ~ -180。
          name: this.shopInfo.name, // 位置名
          address: this.shopInfo.cityName, // 地址详情说明
          scale: 10, // 地图缩放级别,整形值,范围从1~28。默认为最大
          infoUrl: '', // 在查看位置界面底部显示的超链接,可点击跳转
        });
        console.log(11111, this.shopInfo);
      });
    },

    openBaiApp() {
      let latitude = parseFloat(this.shopInfo.longitude);
      let longitude = parseFloat(this.shopInfo.latitude);
      let name = this.shopInfo.name;
      let address = this.shopInfo.cityName;
      console.log(latitude, longitude);
      if (!(latitude && longitude)) {
        return;
      }
      wx.openLocation({
        latitude: parseFloat(latitude),
        // 纬度，浮点数，范围为90 ~ -90
        longitude: parseFloat(longitude),
        // 经度，浮点数，范围为180 ~ -180。
        name: name, // 位置名
        address: address, // 地址详情说明
        scale: 10, // 地图缩放级别,整形值,范围从1~28。默认为最大
        infoUrl: '', // 在查看位置界面底部显示的超链接,可点击跳转
        success: (res) => {
          console.log(5555, res);
        },
        fail: (res) => {
          console.log(res);
        },
      });
    },
    // nativshow() {
    //   let showtext = this.$refs.showtext;
    //   let shownat = this.$refs.shownat;

    //   if (shownat.innerHTML == '导') {
    //     Toast('启动中，请1秒后再次点击查看路线');

    //     setTimeout(() => {
    //       location.reload();
    //     }, 1000);

    //     return;
    //   }

    //   if (showtext.innerHTML == '查看定位') {
    //     showtext.innerHTML = '查看路线';
    //   } else if (showtext.innerHTML == '查看路线') {
    //     showtext.innerHTML = '查看定位';
    //   }
    //   this.navigation = !this.navigation;
    //   this.location = !this.location;
    // },

    // 导航
    // mapcreat() {
    //   MP(this.ak).then((res) => {
    //     var geolocation = new BMap.Geolocation();
    //     getent({ id: Number(this.$route.params.id) }).then((res) => {
    //       this.list = res.data.data;
    //       // 开启辅助定位
    //       geolocation.enableSDKLocation();
    //       geolocation.getCurrentPosition((r) => {
    //         // if (this.getStatus() === BMAP_STATUS_SUCCESS) {
    //         var mk = new BMap.Marker(r.point);
    //         let pointlist = this.list;
    //         let shoplnger = pointlist.longitude;
    //         let shoplater = pointlist.latitude;

    //         // 导航容器
    //         let map = new BMapGL.Map('containerly');
    //         map.centerAndZoom(new BMapGL.Point(shoplater, shoplnger));
    //         // 用户位置
    //         var p1 = new BMapGL.Point(mk.point.lng, mk.point.lat);
    //         // 店家位置
    //         var p2 = new BMapGL.Point(shoplater, shoplnger);

    //         var driving = new BMapGL.DrivingRoute(map, {
    //           renderOptions: { map: map, autoViewport: true },
    //         });
    //         driving.search(p1, p2);
    //         // }
    //       });
    //     });
    //   });
    // },
  },
  components: {
    decorationlist,
  },
};
</script>
<style lang="scss">
* {
  margin: 0;
  padding: 0;
}
.showmap {
  width: 30%;
  z-index: 11;
  padding: 0.5rem 0;
  color: white;
  text-align: center;
  border-radius: 10px;
  font-size: 0.7rem;
  margin: auto;
  background: #4cabff;
  position: relative;
  bottom: 3.5rem;
}
#container {
  width: 100%;
  height: 80%;
}
#containerly {
  width: 100%;
  height: 100%;
  // margin-top: 1rem;
}
.view-router {
  padding-bottom: 0 !important;
}
.anchorBL {
  img {
    opacity: 0;
  }
}
</style>